package com.advertisementsystem.vo;


import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * JVM运行时指标
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class JvmMetrics {

    /**
     * 活跃线程数
     */
    private Integer threadCount;

    /**
     * 堆内存使用率(%)
     */
    private Double heapUsage;

    /**
     * 非堆内存使用率(%)
     */
    private Double nonHeapUsage;

    /**
     * JVM启动时间(ms)
     */
    private Long uptime;

    /**
     * 年轻代使用率(%)
     */
    private Double youngGenUsage;

    /**
     * 老年代使用率(%)
     */
    private Double oldGenUsage;

    /**
     * 当前加载的类数量
     */
    private Integer loadedClassCount;

    /**
     * GC次数
     */
    private Long gcCount;

    /**
     * GC总耗时(ms)
     */
    private Long gcTime;
}